function poleZeroMap(axesHandle, PUsed, ZUsed, PDisp, ZDisp, PSel, ZSel, colorP, colorZ, resize)
    set(axesHandle, 'Units', 'Pixels');
    axesPos = get(axesHandle, 'Position');
    %%%%%%%%%%%%%%%%%%%%%%% Resize to square axes %%%%%%%%%%%%%%%%%%%%%%%%%
    if resize
        axesPos(1) = axesPos(1) + (axesPos(3)-axesPos(4))/2;
        axesPos(3) = axesPos(4);
        set(axesHandle, 'Position', axesPos);
    end
    set(axesHandle, 'Units', 'Normalized');
    width = axesPos(3);
    height = axesPos(4);
    factor = width/height;
    %%%%%%%%%%%%%%%%%%%%%%%%% Lines Plot %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    t = 1/500:1/500:pi;
    for i = 1:length(PUsed)
        plot(axesHandle, abs(PUsed(i))*cos(t+pi/2), abs(PUsed(i))*sin(t+pi/2), 'Color', [218 218 218]/255);
        hold(axesHandle, 'on');
        plot(axesHandle, [0, real(PUsed(i))], [0, imag(PUsed(i))], 'Color', [218 218 218]/255);
        plot(axesHandle, [0, 0], [-abs(PUsed(i)), abs(PUsed(i))], 'Color', [218 218 218]/255);
    end
    for i = 1:length(PDisp)
        plot(axesHandle, abs(PDisp(i))*cos(t+pi/2), abs(PDisp(i))*sin(t+pi/2), 'Color', [218 218 218]/255);
        hold(axesHandle, 'on');
        plot(axesHandle, [0, real(PDisp(i))], [0, imag(PDisp(i))], 'Color', [218 218 218]/255);
        plot(axesHandle, [0, 0], [-abs(PDisp(i)), abs(PDisp(i))], 'Color', [218 218 218]/255);
    end
    for i = 1:length(ZUsed)
        plot(axesHandle, abs(ZUsed(i))*cos(t+pi/2), abs(ZUsed(i))*sin(t+pi/2), 'Color', [218 218 218]/255);
        hold(axesHandle, 'on')
        plot(axesHandle, [0, real(ZUsed(i))], [0, imag(ZUsed(i))], 'Color', [218 218 218]/255);
        plot(axesHandle, [0, 0], [-abs(ZUsed(i)), abs(ZUsed(i))], 'Color', [218 218 218]/255);
    end
    for i = 1:length(ZDisp)
        plot(axesHandle, abs(ZDisp(i))*cos(t+pi/2), abs(ZDisp(i))*sin(t+pi/2), 'Color', [218 218 218]/255);
        hold(axesHandle, 'on')
        plot(axesHandle, [0, real(ZDisp(i))], [0, imag(ZDisp(i))], 'Color', [218 218 218]/255);
        plot(axesHandle, [0, 0], [-abs(ZDisp(i)), abs(ZDisp(i))], 'Color', [218 218 218]/255);
    end

    if resize
        plot(axesHandle, real(PUsed), imag(PUsed), 'x', 'LineWidth', 2, 'Color', colorP, 'MarkerSize',10);
        plot(axesHandle, real(ZUsed), imag(ZUsed), 'o', 'LineWidth', 2, 'Color', colorZ, 'MarkerSize',10);

        normPC = colorP + ~colorP*0.8;
        normZC = colorZ + ~colorZ*0.8;
        plot(axesHandle, real(PDisp), imag(PDisp), 'x', 'LineWidth', 2, 'Color', normPC/norm(normPC), 'MarkerSize',10);
        plot(axesHandle, real(ZDisp), imag(ZDisp), 'o', 'LineWidth', 2, 'Color', normZC/norm(normZC), 'MarkerSize',10);
            
        if ~isempty(PSel)   
            plot(axesHandle, real(PSel), imag(PSel), 'x', 'LineWidth', 2, 'Color', colorP*0.4, 'MarkerSize',10);
        end
        if ~isempty(ZSel)
            plot(axesHandle, real(ZSel), imag(ZSel), 'o', 'LineWidth', 2, 'Color', colorZ*0.4, 'MarkerSize',10);
        end
        
    else
        plot(axesHandle, real(PUsed), imag(PUsed), 'x', 'LineWidth', 1, 'Color', colorP, 'MarkerSize',5);
        plot(axesHandle, real(ZUsed), imag(ZUsed), 'o', 'LineWidth', 1, 'Color', colorZ, 'MarkerSize',5);
    end
    
    yLimAux = ylim(axesHandle)*factor;
    xlim(axesHandle, [yLimAux(1)-(yLimAux(2)-yLimAux(1))*0.25, yLimAux(2)*factor-(yLimAux(2)-yLimAux(1))*0.25]);
    
    if resize
        totalZ = [ZDisp' ZUsed']';
        uniZ = unique(totalZ);
        for i = 1:length(uniZ)
            count = 0;
            for j = 1:length(totalZ)
                if totalZ(j) == uniZ(i)
                    count = count + 1;
                end
            end
            if count > 1
                text(real(uniZ(i)), imag(uniZ(i)), strcat({'   ('}, num2str(count), {')'}), 'Parent', axesHandle, 'Color', colorZ);
            end
        end
    end
    
end
